<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      const obj = {
        age: 100,
        desc: "hello",
        title: "hi",
      };
      obj[Symbol.toPrimitive] = function () {
        switch (hint) {
          case "number":
            return this.age;
          case "string":
            return this.desc;
          default:
            return this.title;
        }
      };
      console.log(Number(obj)); // 100
      console.log(String(obj)); // 100
      console.log(obj - 100); // 100-100
      console.log(obj + "jack"); // 100+{}
    </script>
  </body>
</html>
